In a multi-site “high availability” environment, routing a request to a particular site within the multi-site environment can be problematic. There are many factors that need to be designed into a solution. The solution must address balancing requests between sites, and must be able to fail over to a working site if a site is unavailable. The solution must also have the flexibility to allow a developer to generate robust and dynamic URL strings. There are no known solutions to this problem.
An illustrative high availability multi-site environment 10 is depicted in FIG. 1. The multi-site environment 10 includes a plurality of substantially identical, independent sites 12A, 12B, . . . , 12N, each including a plurality of servers 14.
At any given time, a browser session 16 may be directed to a server 14 on any of the sites 12A, 12B, . . . , 12N in the multi-site environment 10 available at that time. For example, on a first day a user's browser session 16 may be directed to a server 14 at site 12A, while on the next day the user's browser session 16 may be directed to a server 14 at site 12B. This is done without the knowledge of the user. This can create a problem when, for example, two or more users at different sites 12A, 12B, . . . , 12N wish to collaborate using a application (e.g., a chat application) that is unaware of the existence of other sites 12A, 12B, . . . , 12N in the multi-site environment 10. One problem to be solved, therefore, is how to route a plurality of independent browser sessions 16 to the same server 14 at the same site 12A, 12B, . . . , 12N in the multi-site environment 10.